home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / library / reqtlsdv.lha / ReqTools / Glue / SAS-C / LibSource.lha / src / autoopen.c next >
C/C++ Source or Header  |  1994-03-24  |  751b  |  40 lines

  1. #include <proto/exec.h>
  2. #include <utility/tagitem.h>
  3. #include <proto/reqtools.h>
  4. #include <libraries/reqtools.h>
  5.  
  6. #include "sc:source/constructor.h"
  7.  
  8. void __regargs  __autoopenfail (char *);
  9.  
  10. static void *libbase;
  11. struct ReqToolsBase *ReqToolsBase;
  12. extern long __oslibversion;
  13.  
  14. CBMLIB_CONSTRUCTOR(openreqtools)
  15. {
  16.     long old_os_lib = __oslibversion;
  17.  
  18.     __oslibversion = REQTOOLSVERSION;
  19.  
  20.     ReqToolsBase = libbase = (void *) OpenLibrary (REQTOOLSNAME, __oslibversion);
  21.     if (!ReqToolsBase)
  22.     {
  23.         __autoopenfail (REQTOOLSNAME);
  24.  
  25.         __oslibversion = old_os_lib;
  26.        return 1;
  27.     }
  28.  
  29.     __oslibversion = old_os_lib;
  30.    return 0;
  31. }
  32.  
  33. CBMLIB_DESTRUCTOR(closereqtools)
  34. {
  35.     if (libbase) {
  36.         CloseLibrary ((struct Library *) libbase);
  37.         libbase = ReqToolsBase = NULL;
  38.         }
  39. }
  40.